﻿
namespace Irrlicht.Net.Video
{
    public enum ColorFormat
    {

        /// <summary>
        /// 16 bit color format used by the software driver.
        /// It is thus preferred by all other irrlicht engine video drivers.
        /// There are 5 bits for every color component, and a single bit is left
        /// for alpha information.
        /// </summary>
        A1R5G5B5 = 0,
        /// <summary>
        /// Standard 16 bit color format.
        /// </summary>
        R5G6B5 = 1,
        /// <summary>
        /// 24 bit color, no alpha channel, but 8 bit for red, green and blue.
        /// </summary> 
        R8G8B8 = 2,
        /// <summary>
        /// Default 32 bit color format. 8 bits are used for every component: red, green, blue and alpha.
        /// </summary> 
        A8R8G8B8 = 3,

        /** Floating Point formats. The following formats may only be used for render target textures. */

        /// <summary>
        /// 16 bit floating point format using 16 bits for the red channel.
        /// </summary> 
        R16F = 4,
        /// <summary>
        /// 32 bit floating point format using 16 bits for the red channel and 16 bits for the green channel.
        /// </summary>
        G16R16F = 5,
        /// <summary>
        /// 64 bit floating point format 16 bits are used for the red, green, blue and alpha channels.
        /// </summary> 
        A16B16G16R16F = 6,
        /// <summary>
        /// 32 bit floating point format using 32 bits for the red channel.
        /// </summary>
        R32F = 7,
        /// <summary>
        /// 64 bit floating point format using 32 bits for the red channel and 32 bits for the green channel.
        /// </summary> 
        G32R32F = 8,
        /// <summary>
        /// 128 bit floating point format. 32 bits are used for the red, green, blue and alpha channels.
        /// </summary>
        A32B32G32R32F = 9,
        /// <summary>
        /// Unknown color format
        /// </summary>
        Unknown = 10,
    };
}
